package com.xusheng.cli.entity.videoModule;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.xusheng.cli.common.base.BaseEntity;
import com.xusheng.cli.entity.clarityModule.Clarity;
import lombok.*;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class Video extends BaseEntity {

    private static final long serialVersionUID = -8661406781013112648L;
    /**
     * 所属频道编号
     */
//    @NotNull(message = "请选择所属频道")
    private Long categoryId;
    /**
     * 视频标题
     */
//    @NotNull(message = "请输入视频标题")
    private String title;
    /**
     * 视频图片
     */
    private String image;
    /**
     * 图片文件路径
     */
    @JsonIgnore
    private String imageFilename;
    /**
     * 视频类型（0-站内视频，1-站外视频)
     */
//    @NotNull(message = "请选择视频源")
    private Integer source;
    /**
     * 视频地址
     */
    private String url;
    /**
     * 本地路径
     */
    @JsonIgnore
    private String filename;
    /**
     * 简介
     */
    private String brief;
    /**
     * 是否vip视频
     */
    private Boolean vip;
    /**
     * 是否短视频
     */
    private Boolean shortVideo;
    /**
     * 播放次数
     */
    private Long plays;
    /**
     * 分类名
     */
    @TableField(exist = false)
    private String category;
    /**
     * 是否收藏
     */
    @TableField(exist = false)
    private Boolean favorites;
    /**
     * 是否点赞
     */
    @TableField(exist = false)
    private Boolean likes;
    @TableField(exist = false)
    /**
     * 收藏数量
     */
    private String favoritesCount;
    /**
     * 点赞数量
     */
    @TableField(exist = false)
    private String likesCount;
    /**
     * 女优id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long actressId;
    /**
     * 服务器ip
     */
    private String ip;
    /**
     * 清晰度
     */
    @TableField(exist = false)
    private List<Clarity> clarityList;
}
